9 DIM M1$(25):DIM M2$(25):DIM D0$(25):DIM INV$(15)
10 CLS
20 PRINT @ 404,"Welcome To the World"
30 PRINT @ 477,"of"
35 PRINT @ 538,"ADVANCED"
40 PRINT @ 597,"DUNGEONS & DRAGONS"
50 FOR X=20 TO 102
55     SET(X,15):SET(X,30)
60 NEXT X
70 FOR Y=15 TO 30
75     SET(20,Y):SET(102,Y)
80 NEXT Y
85 FOR ZZ=1 TO 500:NEXT ZZ
90 CLS
95 PRINT "THIS IS THE GAME OF ADVANCED DUNGEONS AND DRAGONS AND I AM YOUR DUNGEON MASTER."
100 PRINT:PRINT:PRINT " YOU ARE A FIGHTER EQUIPPED WITH:
105 PRINT"     (1)A MAGICAL SWORD"
110 PRINT"     (2)A BOW WITH 2 DOZEN ARROWS"
115 PRINT"     (3)A SUIT OF PLATE MAIL"
120 PRINT"     (4)A MAGICAL RING"
130 PRINT @ 960,"PRESS <ENTER> TO CONTINUE";
135 INPUT QQ$
140 CLS
142 PRINT "TO CHECK YOUR INVENTORY, TYPE IN THE NUMBER ONE GREATER THEN":PRINT"YOUR LAST CHOICE."
145 PRINT @ 960,"PRESS <ENTER> TO CONTINUE";
146 INPUT QQ$
148 CLS
150 PRINT"WHEN ATTACKING, YOU WILL HAVE THESE OPTIONS:"
160 PRINT"    (1)SWORD--THIS ALLOWS YOU TO USE YOUR MAGICAL SWORD IF YOU ",TAB(14);"ARE WITHIN 4' OF THE MONSTER."
170 PRINT"    (2)BOW----THIS ALLOWS YOU TO USE YOUR BOW IF YOU ARE FARTHER ";TAB(14);"THAN 8' FROM THE MONSTER. ";
175 PRINT"YOU ARE ALLOWED 2 SHOTS/";TAB(14);"ROUND.  KEEP TRACK OF YOUR ARROWS!"
180 PRINT"    (3)RING---THIS ALLOWS YOU TO CAST A SPELL WITH YOUR RING.   ";TAB(14);"YOU MAY USE IT 3 TIMES, BUT YOU'RE NEVER SURE WHAT";TAB(14);"IT WILL DO!"
190 PRINT"    (4)RUN----ALLOWS YOU TO RETREAT FROM A FIGHT."
200 PRINT @ 960,"PRESS <ENTER> TO CONTINUE";:INPUT QQ$:CLS
201 PRINT "YOU ARE NOW ENTERING THE DUNGEON."
202 FOR Q=5 TO 20
205      READ M1$(Q),M2$(Q)
208 NEXT Q
215 X$(1)="(1)":X$(2)="(2)":X$(3)="(3)":X$(4)="(4)"
222 ROOM=1
225 PRINT"A VAST CORRIDOR STRETCHES OUT BEFORE YOU WITH AN IRON DOOR ON":PRINT"THE RIGHT FACING EAST."
230 PRINT @ 591,"DO YOU WISH TO:"
232 PRENT=658:X=0
235 GOSUB 5080:'**PRINT @**
240 GOSUB 5120:'**CHOICES**
260 GOSUB 5000:'**BOX**
265 PRINT @ 960,"ENTER NUMBER";
270 PC=0:INPUT PC
272 IF PC<1 OR PC>3 THEN 265
275 CLS
280 ON PC GOTO 285,365,5350
285 ROOM=2
286 IF D00R$(ROOM)="O" THEN 290
288 GOSUB 5090:'**DOOR**
289 IF D0$(ROOM)<>"O" THEN 222
290 PRINT"YOU'RE IN A 15'x15' ROOM. YOU SEE A ROTTEN CHEST IN ONE CORNER  AND THE SKULL OF A BULL-LIKE CREATURE OFF TO ONE SIDE. THERE IS AN OPEN DOOR FACING WEST.
292 PRINT @ 591,"DO YOU WISH TO:"
293 PRENT=658:X=0
294 GOSUB 5080:'**PRINT @**
295 GOSUB 5120:'**CHOICES**
300 GOSUB 5000:'**BOX**
305 PRINT @ 960,"ENTER NUMBER";
310 PC=0:INPUT PC
312 IF PC<1 OR PC>4 THEN 305
315 CLS
318 IF P1=1 THEN ON PC GOTO 340,222,5350
320 ON PC GOTO 325,340,222,5350
325 IF CHEST$="CHEST" THEN PRINT"YOU'VE ALREADY DONE THAT":
                      GOTO 292
330 PRINT"THE CHEST CRUMBLES AS YOU TOUCH IT. AS YOU SEARCH THROUGH THE":PRINT"REMAINS, YOU FIND A SACK OF 50 GOLD PIECES AND 10 VIALS."          :GOLD=GOLD+50:P1=1
331 PRINT "THE 10 VIALS ARE MARKED 'XHEAL'. THEY ARE NOW IN YOUR PACK."
332 VIAL=10:INV$(4)="VIAL"
335 GOTO 292
340 PRINT"THE SKULL HAS A SPEAR HOLE THROUGH HIS BRAIN. IT IS THE":PRINT"SKULL OF A MINOTAUR."
342 PRINT"AS YOU MOVE THE SKULL, A TRAP DOOR OPENS BENEATH YOU AND":PRINT"YOU FALL.....":FOR X=1 TO 1500:NEXT X
345 GOTO '**SPIDER**
365 ROOM=3
370 PRINT"AFTER WALKING ABOUT 20', YOU ENCOUNTER A PATH THAT MEETS YOUR":PRINT "PATH PERPENDICULARLY. YOU CAN SEE DOORS AT THE END OF THE NORTH AND WEST HALL."
380 PRINT @ 591,"DO YOU WISH TO:"
382 PRENT=658:X=0
384 GOSUB 5080:'**PRINT @**
385 GOSUB 5120:'**CHOICES**
390 GOSUB 5000:'**BOX**
400 PRINT @ 960,"ENTER NUMBER";
405 PC=0:INPUT PC
410 IF PC<1 OR PC>5 THEN 400
412 CLS
415 ON PC GOTO ,465,418,222,5350
418 ROOM=4
420 PRINT "HERE, THE HALLWAY HAS SPLIT INTO TWO PASSAGES: ONE NORTHEAST ANDONE SOUTHEAST. YOU MAY STILL GO WEST."
425 PRINT @ 591,"DO YOU WISH TO:"
430 X=0:PRENT=658
435 GOSUB 5080:'**PRINT @**
440 GOSUB 5120:'**CHOICES**
445 GOSUB 5000:'**BOX**
450 PRINT @ 960,"ENTER NUMBER";:PC=0:INPUT PC
455 IF PC<1 OR PC>4 THEN 450
460 CLS:ON PC GOTO 550,625,365,5350
465 ROOM=5
467 IF D00R$(5)="O" THEN 470
468 GOSUB 5090:'**DOOR**
469 IF D00R$(5)="" THEN 365
470 PRINT"YOU'RE IN A 10'x15' ROOM. IN THE SOUTHWEST CORNER, "
475 IF M2$(5)="" THEN PRINT "IS A DEAD MIMIC." 
                   ELSE PRINT "IS AN OAK CHEST."
480 IF M1$(5)<>"" THEN PRINT "IN THE CENTER OF THE ROOM IS A FIGURE WITH A MUSCULAR BODY,":PRINT"WOLF HEAD, AND 5 INCH STEEL CLAWS."
482 RM(RO,1)=1:RM(RO,2)=61
485 PRINT @ 591,"DO YOU WISH TO:"
490 PRENT=658:X=0
495 GOSUB 5080:'**PRINT @**
500 GOSUB 5120:'**CHOICES**
505 GOSUB 5000:'**BOX**
510 PRINT @ 960,"ENTER NUMBER";:PC=0:INPUT PC
515 IF PC<1 OR PC>4 THEN 510
520 CLS
525 ON PC GOTO ,365,,5350
550 ROOM=6
555 PRINT"YOU'RE IN A 10'x10' ROOM. THE WALLS ARE ALL BRIGHT GREEN.":PRINT"IN THE CENTER OF THE ROOM IS A ";
560 IF M2$(6)="" THEN PRINT "HEAP OF GREENISH CRYSTAL."
                  ELSE PRINT"EMERALD CREATURE OF CRYSTAL."
565 IF M1$(6)<>"" THEN PRINT"BEHIND IT IS A MAN IN JADE ARMOR WITH A GLOWING EMERALD FOR ONE EYE."
568 RM(RO,1)=2:RM(RO,2)=62
570 PRINT @ 591,"DO YOU WISH TO:":PRENT=658:X=0
575 GOSUB 5080:'**PRINT @**
580 GOSUB 5120:'**CHOICES**
585 GOSUB 5000:'**BOX**
590 PRINT @ 960,"ENTER NUMBER";:PC=0:INPUT PC
595 IF PC<1 OR PC>3 THEN 590
600 CLS:ON PC GOTO 5350,418,5350
625 ROOM=7
630 PRINT"YOU'RE IN A 20'x20' ROOM. ";
635 IF INV$(2)="" THEN PRINT"ON THE FAR WALL IS A BRIGHTLY GLOWING RED SWORD.
638 RM(RO,1)=RND(5)+6
640 IF M1$(7)<>"" THEN 'GET 2,RND(4)+2:?"IN THE CENTER OF THE ROOM IS A ";
645 PRINT @ 591,"DO YOU WISH TO:":PRENT=658:X=0
650 GOSUB 5080:'**PRINT @**
655 GOSUB 5120:'**CHOICES**
660 GOSUB 5000:'**BOX**
665 PRINT @ 960,"ENTER NUMBER";:PC=0:INPUT PC
670 IF PC<1 OR PC>3 THEN 665
675 CLS:ON PC GOTO ,418,5350
700 ROOM=8
705 IF D00R$(8)="O" THEN 720
710 GOSUB 5090:'**DOORS**
715 IF D00R$(8)="" THEN 365
4000 '******PLAYER ATTACK******
4500 '******FIRST CHOICE******
4510 IF DS(1)<4 AND DS(2)<4 THEN
4515 PRINT X$(X);USE YOUR BOW
4520 IF INV
4999 END
5000 '******BOX******
5010 FOR X=11 TO 104
5020     SET(X,25):SET(X,43)
5030 NEXT X
5040 FOR Y=25 TO 43
5050     SET(11,Y):SET(104,Y)
5060 NEXT Y
5070 RETURN
5075 '******PRINT @******
5080 PRINT @ PRENT-1,"";
5082 PRENT=PRENT+64
5083 X=X+1
5085 RETURN
5090 '******DOORS******
5091 IF D00R(ROOM)=3 THEN PRINT "YOU HAVE FAILED THREE TIMES SO YOU MIGHT AS WELL GIVE UP.":RETURN
5092 D00R(ROOM)=D00R(ROOM)+1
5095 IF RND(6)<=3 THEN PRINT"THE DOOR IS OPEN":D0$(ROOM)="O"                            :RETURN
5100 PRINT "YOU FAILED TO OPEN THE DOOR.";
5105 INPUT"  DO YOU WISH TO TRY AGAIN";D00R$
5108 IF D00R$="Y" THEN 5092
5110 RETURN
5120 '******CHOICES******
5140 IF (RO=2 AND P1=0) OR (RO=5 AND M2$(5)<>"")
                    THEN PRINT X$(X);" SEARCH CHEST":GOSUB 5075
5150 IF RO=2 THEN PRINT X$(X);" INSPECT THE SKULL":GOSUB 5075
5160 IF (RO=1 AND D0$(RO)="") OR (RO=12 AND M1$(12)="" AND D0$(12)="") THEN PRINT X$(X);" OPEN DOOR":GOSUB 5075
5170 IF RO=4 OR RO=8 THEN PRINT X$(X);" GO NORTHEAST":GOSUB 5075
5180 IF RO=4 THEN PRINT X$(X);" GO SOUTHEAST":GOSUB 5075
5190 IF RO=9 THEN PRINT X$(X);" FREE HER":GOSUB 5075
5200 IF RO=9 THEN PRINT X$(X);" RAPE HER":GOSUB 5075
5210 IF RO=13 THEN PRINT X$(X);" STEP WARILY INTO THE ROOM":GOSUB 5075
5220 IF RO=15 THEN PRINT X$(X);" ENTER THE POOL":GOSUB 5075
5230 IF RO=1 OR RO=3 OR RO=9 OR RO=19 OR RO=20 
                THEN PRINT X$(X);" GO NORTH":GOSUB 5075
5240 IF RO=8 AND M1$(8)="" THEN PRINT X$(X);" GO STAIRS"
5250 IF RO=2 OR RO=3 OR RO=4 OR RO=6 OR RO=7 OR RO=9 OR RO=12 OR                    RO=15 OR RO=16 THEN PRINT X$(X);" GO WEST":
                    GOSUB 5075
5260 IF RO=3 OR RO=5 OR RO=11 OR RO=12 OR RO=13 OR RO=16 OR 
                   RO=17 THEN PRINT X$(X);" GO EAST":GOSUB 5075
5270 IF RO=3 OR RO=8 OR RO=9 OR RO=12 OR RO=14 OR RO=19 OR 
                   RO=20 THEN PRINT X$(X);" GO SOUTH":GOSUB 5075
5280 IF RO=16 AND M1$(16)="" AND M2$(16)="" 
                   THEN PRINT X$(X);" GO SOUTH":GOSUB 5075
5285 IF RO>=5 AND (M1$(RO)<>"" OR M2$(RO)<>"") 
                    THEN PRINT X$(X);" ATTACK":GOSUB 5075
5290 RETURN
5300 DATA SHAPE CHANGER,MIMIC,JADE GUARDIAN,CRYSMAL
5310 DATA GIANT,,DRAGON,,WOMAN,,SPIDER,,INSECT,,WILL-0-WISP,
5320 DATA PLANT PERSON,SHAMBLING MOUND,WEATHER WARRIOR,
5330 DATA SEA MONSTER,,NINJA,SAMARAI,AIR,,FLAME,,WORM,
5340 DATA SPECTRAL SPY,UNDEAD
5350 '******INV******
5352 PRINT "INVENTORY":PRINT
5353 PRINT TAB(3);"LONG BOW"
5354 IF AR>0 THEN PRINT TAB(2);AR;"ARROWS"
5355 IF AB>0 THEN PRINT TAB(2);AB;"+1 ARROWS"
5356 IF INV$(2)="" THEN PRINT TAB(3);"+1 LONG SWORD"
                   ELSE PRINT TAB(3);"+3 FLAMING BASTARD SWORD"
5358 IF INV$(3)="" THEN PRINT TAB(3);"PLATE MAIL"
                    ELSE PRINT TAB(3);"+6 PLATE MAIL"
5359 IF VIA>0 THEN PRINT TAB(2);VIA;"VIALS MARKED 'XHEAL'"
5360 FOR Y=5 TO 12
5365     IF INV$(Y)<>"" THEN PRINT TAB(3);INV$(Y)
5370 NEXT Y
5375 PRINT @ 832,"ENTER ITEM (PRESS <ENTER> FOR NOTHING)";
5380 OBJ$="":INPUT OBJ$
5385 FOR Y=1 TO 9
5390     IF OBJ$=INV$(Y) THEN GOTO 5410
5395 NEXT Y
5400 PRINT "YOU DON'T HAVE A ";OBJ$:RETURN
5410 IF OBJ$<>"VIAL" THEN 5430
5415 PRINT"YOU FEEL REFRESHED AND ENERGIZED.":HP=MAX:VI=VI-1
5420 IF VIAL<=0 THEN INV$(4)=""
5425 RETURN
5430 CLS:ON RO GOTO 222,285,365,418,465,
5500 '******GET FILE******
5505 FOR Z=1 TO 2
5510     IF RM(RO,Z)=0 THEN 5540
5515     GET RM(RO,Z),Z
5520     MP(Z)=CVS(MP$):MV(Z)=CVS(MV$):MC(Z)=CVS(MC$)
5525     MN(Z)=CVS(MN$):MA(Z)=CVS(MA$):MD(Z,1)=CVS(D$(1))
5530     MB(Z,1)=CVS(DB$(1)):MD(Z,2)=CVS(D$(2))
5535     MB(Z,2)=CVS(DB$(2)):A1(Z,1)=CVS(S1$(1))
5537     A1(Z,2)=CVS(S1$(2)):A1(Z,3)=CVS(S1$(3))
5538     D1(Z,1)=CVS(D1$(1)):D1(Z,2)=CVS(D1$(2))
5539     MR(Z)=CVS(MR$)
5540 NEXT Z
5545 RETURN
5550 '******MONSTER ATTACK******
5560 FOR Y=1 TO 2
5570     IF M$(RO,Y)="" THEN
5580     FOR Z=1 TO 3
5590         IF S1(Y,Z)=0 OR S1(Y,Z)>11 THEN 5610
5600         ON S1(Y,Z)-11 GOTO 
5610     NEXT Z
5615     IF DIST(Y)>4 THEN
5620     FOR Q=1 TO MA(Y)
5625         IF Q<3 THEN P=Q
5630         DICE=RND(20)
5635         IF DICE>=MN-ARMOR OR DICE=20 THEN MH=MH+1:
                     JR=Q:GOTO 5645
5640         MM=MM+1:GOTO
5650         SC=SC+RND(D(Y,P))+BD(Y,P)
5660     NEXT Q
5665     PRINT"THE ";M$(RO,Y);" ATTACKED WITH ITS ";W1$(Y);"..."
5670     IF MH=0 THEN PRINT"AND MISSED";ELSE 5685
5675     IF MM=1 THEN PRINT ELSE PRINT MM;"TIMES."
5680     GOTO 5735
5685     PRINT "AND HIT!!";
5690     IF MH=1 THEN PRINT ELSE PRINT MH;"TIMES!"
5695     PRINT"CAUSING";SC;"POINTS OF DAMAGE":HP=HP-SC
5700     MM=0:MH=0:SC=0:IF HP<0 THEN **DEAD**
5710     FOR W=1 TO 3
5715         IF A1(Y,W)=0 OR A1(Y,W)>11 THEN 5725
5720         ON A1(Y,W) GOTO
5725     NEXT W
5730     GOSUB **BAR**
5735 NEXT Y
